Skip to content

Conversation

@abelonogov-ld
Copy link
Contributor

@abelonogov-ld abelonogov-ld commented Jan 8, 2026

Summary

Introduces double masking and if number of masks changed the frame being dropped.

image

How did you test this change?

Are there any deployment considerations?


Note

Introduces double-masking to stabilize sensitive-region masking and avoid flicker by dropping unstable frames.

  • Capture: collect masks for each window both before and after a synced frame (CaptureSource), merge via MaskApplier.mergeMasksMap with position tolerance; if counts/IDs shift or movement exceeds threshold, drop the frame
  • Rendering: replace inline mask drawing with MaskApplier.drawMasks; compose layered windows onto base bitmap, recycle intermediate bitmaps, and improve PixelCopy error handling and cleanup
  • Window selection: pickBaseWindow now returns index; capture proceeds from base through overlays; maintains tiled signature dedupe
  • Mask targets: use localToWindow in Compose masking; minor matrix reuse comment in native target
  • E2E demo: add .ldMask() to ZIP and CVV fields; minor cleanup in Compose/XML samples

Written by Cursor Bugbot for commit 5bff2cd. This will update automatically on new commits. Configure here.

* main:
  feat: Android SR Identify support  (#330)
* main:
  test: O11Y-908 - Add Android CI workflows (#337)
  chore: release main (#335)
  feat: publish umd for broser environments (#334)
  chore: release main (#333)
  feat: Pause and resume replay capture on app background/foreground (#329)
  fix: Fix compose coordinate offset.  (#331)
  chore: release main (#324)
  fix(highlight.run): correct privacy masking for empty strings (#332)
* main:
  chore: release main (#340)
  feat: Added privacy options: maskViews, maskXMLViewIds, maskImageViews (#339)
* main:
  chore: Android SR - cleanup privacy settings (#341)
@abelonogov-ld abelonogov-ld requested a review from a team as a code owner January 8, 2026 01:56
This reverts commit feaa22f.
@abelonogov-ld abelonogov-ld reopened this Jan 9, 2026
Co-authored-by: Agustin Grognetti <[email protected]>
@abelonogov-ld abelonogov-ld enabled auto-merge (squash) January 9, 2026 19:08
@abelonogov-ld abelonogov-ld merged commit 803fb83 into main Jan 9, 2026
24 checks passed
@abelonogov-ld abelonogov-ld deleted the andrey/double-masking branch January 9, 2026 19:14
abelonogov-ld pushed a commit that referenced this pull request Jan 9, 2026
🤖 I have created a release *beep* *boop*
---


<details><summary>launchdarkly-observability-android: 0.23.0</summary>

##
[0.23.0](launchdarkly-observability-android-0.22.0...launchdarkly-observability-android-0.23.0)
(2026-01-09)


### Features

* Android double masking with frame drop
([#342](#342))
([803fb83](803fb83))
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> Publishes a new release of the Android SDK with a masking enhancement.
> 
> - **Release:** `sdk/@launchdarkly/observability-android` → `0.23.0`
> - **Feature:** *Android double masking with frame drop*
> - **Meta:** Update version in `gradle.properties` and
`.release-please-manifest.json`; add `CHANGELOG.md` entry
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
89623b0. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants